Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
- Publicatiedatum:
- 03-10-2025
- Inwerkingtreding:
- 03-10-2025
19.8 Wat is de cashflow?
Concepten
Relaties
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# SPARQL: 19.8 Zorgkantoren inkoopondersteuning 2# Parameters: ?startperiode, ?eindperiode, ?peildatum 3# Ontologie: versie 3.0.0 of nieuwer 4 5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#> 6PREFIX onz-g: <http://purl.org/ozo/onz-g#> 7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 8 9SELECT 10 ("Cashflow" AS ?Kental) 11 ( 12 IF( 13 (?DebtService = 0), 14 "Ongedefinieerd"^^xsd:string, 15 (?S_na_belasting / ?DebtService) 16 ) 17 AS ?Waarde 18 ) 19WHERE { 20 # 1. S Resultaat na belastingen 21 { 22 SELECT (?p_totaal - ?q_totaal + COALESCE(?q_vi, 0) + COALESCE(?r_i, 0) + COALESCE(?r_ii, 0) - COALESCE(?r_iii, 0) - COALESCE(?r_iv, 0) + COALESCE(?s_ii, 0) AS ?S_na_belasting) 23 WHERE { 24 { 25 # DEEL 1: Eindtotalen berekenen 26 SELECT (SUM(?p_bedrag) AS ?p_totaal) (SUM(?q_bedrag) AS ?q_totaal) 27 WHERE { 28 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 29 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 30 { 31 SELECT DISTINCT ?rubriek WHERE { 32 ?rubriek a onz-fin:Grootboekrubriek . 33 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 34 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 35 } 36 } 37 38 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 39 40 ?grootboek_post a onz-fin:Grootboekpost ; 41 onz-g:partOf ?rubriek ; 42 onz-g:hasDate ?datum ; 43 onz-fin:heeftGeldBedrag ?geld_bedrag . 44 45 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 46 47 # P-bedragen 48 BIND( 49 IF( 50 STRSTARTS(?rubriekCode, "81") || 51 STRSTARTS(?rubriekCode, "82") || 52 STRSTARTS(?rubriekCode, "83") || 53 STRSTARTS(?rubriekCode, "89") || 54 STRSTARTS(?rubriekCode, "919") || 55 STRSTARTS(?rubriekCode, "920") || 56 STRSTARTS(?rubriekCode, "930"), 57 ?geld_bedrag, 0) AS ?p_bedrag 58 ) 59 60 # Q-bedragen 61 BIND( 62 IF( 63 STRSTARTS(?rubriekCode, "417") || 64 STRSTARTS(?rubriekCode, "418") || 65 STRSTARTS(?rubriekCode, "411") || 66 STRSTARTS(?rubriekCode, "412") || 67 STRSTARTS(?rubriekCode, "413") || 68 STRSTARTS(?rubriekCode, "414") || 69 STRSTARTS(?rubriekCode, "415") || 70 STRSTARTS(?rubriekCode, "416") || 71 STRSTARTS(?rubriekCode, "419") || 72 STRSTARTS(?rubriekCode, "420") || 73 STRSTARTS(?rubriekCode, "4221") || 74 STRSTARTS(?rubriekCode, "4223") || 75 STRSTARTS(?rubriekCode, "4224") || 76 STRSTARTS(?rubriekCode, "4225") || 77 STRSTARTS(?rubriekCode, "4229") || 78 STRSTARTS(?rubriekCode, "4226") || 79 STRSTARTS(?rubriekCode, "480") || 80 STRSTARTS(?rubriekCode, "481") || 81 STRSTARTS(?rubriekCode, "482") || 82 STRSTARTS(?rubriekCode, "483") || 83 STRSTARTS(?rubriekCode, "484") || 84 STRSTARTS(?rubriekCode, "423") || 85 STRSTARTS(?rubriekCode, "43") || 86 STRSTARTS(?rubriekCode, "44") || 87 STRSTARTS(?rubriekCode, "45") || 88 STRSTARTS(?rubriekCode, "46") || 89 STRSTARTS(?rubriekCode, "47") || 90 STRSTARTS(?rubriekCode, "486") || 91 STRSTARTS(?rubriekCode, "489") || 92 STRSTARTS(?rubriekCode, "905") || 93 STRSTARTS(?rubriekCode, "911") || 94 STRSTARTS(?rubriekCode, "912") || 95 STRSTARTS(?rubriekCode, "913") || 96 STRSTARTS(?rubriekCode, "914") || 97 STRSTARTS(?rubriekCode, "915") || 98 STRSTARTS(?rubriekCode, "921") || 99 STRSTARTS(?rubriekCode, "931"), 100 ?geld_bedrag, 0) AS ?q_bedrag 101 ) 102 } 103 } 104 105 # Q.VI Afschrijvingen op immateriële vaste activa en materiële vaste activa 106 { 107 SELECT (SUM(?geld_bedrag) AS ?q_vi) 108 WHERE { 109 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 110 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 111 { 112 SELECT DISTINCT ?rubriek WHERE { 113 ?rubriek a onz-fin:Grootboekrubriek . 114 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 115 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 116 } 117 } 118 119 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 120 121 BIND( 122 IF( 123 STRSTARTS(?rubriekCode, "480") || 124 STRSTARTS(?rubriekCode, "481") || 125 STRSTARTS(?rubriekCode, "482") || 126 STRSTARTS(?rubriekCode, "483") || 127 STRSTARTS(?rubriekCode, "484"), 128 "Q.VI", "other" 129 ) AS ?categorie 130 ) 131 132 FILTER(?categorie = "Q.VI") 133 134 ?grootboek_post a onz-fin:Grootboekpost ; 135 onz-g:partOf ?rubriek ; 136 onz-g:hasDate ?datum ; 137 onz-fin:heeftGeldBedrag ?geld_bedrag . 138 139 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 140 } 141 } 142 # R.I Opbrengst van vorderingen die tot de vaste activa behoren en van effecten 143 { 144 SELECT (SUM(?geld_bedrag) AS ?r_i) 145 WHERE { 146 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 147 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 148 { 149 SELECT DISTINCT ?rubriek WHERE { 150 ?rubriek a onz-fin:Grootboekrubriek . 151 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 152 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 153 } 154 } 155 156 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 157 158 BIND( 159 IF( 160 STRSTARTS(?rubriekCode, "904"), 161 "R.I", "other" 162 ) AS ?categorie 163 ) 164 165 FILTER(?categorie = "R.I") 166 167 ?grootboek_post a onz-fin:Grootboekpost ; 168 onz-g:partOf ?rubriek ; 169 onz-g:hasDate ?datum ; 170 onz-fin:heeftGeldBedrag ?geld_bedrag . 171 172 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 173 } 174 } 175 #R.II Andere rentebaten en soortgelijke opbrengsten 176 { 177 SELECT (SUM(?geld_bedrag) AS ?r_ii) 178 WHERE { 179 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 180 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 181 { 182 SELECT DISTINCT ?rubriek WHERE { 183 ?rubriek a onz-fin:Grootboekrubriek . 184 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 185 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 186 } 187 } 188 189 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 190 191 BIND( 192 IF( 193 STRSTARTS(?rubriekCode, "900"), 194 "R.II", "other" 195 ) AS ?categorie 196 ) 197 198 FILTER(?categorie = "R.II") 199 200 ?grootboek_post a onz-fin:Grootboekpost ; 201 onz-g:partOf ?rubriek ; 202 onz-g:hasDate ?datum ; 203 onz-fin:heeftGeldBedrag ?geld_bedrag . 204 205 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 206 } 207 } 208 # R.III Waardeverandering van vorderingen die tot de vaste activa behoren en van effecten 209 { 210 SELECT (SUM(?geld_bedrag) AS ?r_iii) 211 WHERE { 212 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 213 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 214 { 215 SELECT DISTINCT ?rubriek WHERE { 216 ?rubriek a onz-fin:Grootboekrubriek . 217 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 218 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 219 } 220 } 221 222 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 223 224 BIND( 225 IF( 226 STRSTARTS(?rubriekCode, "903"), 227 "R.III", "other" 228 ) AS ?categorie 229 ) 230 231 FILTER(?categorie = "R.III") 232 233 ?grootboek_post a onz-fin:Grootboekpost ; 234 onz-g:partOf ?rubriek ; 235 onz-g:hasDate ?datum ; 236 onz-fin:heeftGeldBedrag ?geld_bedrag . 237 238 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 239 } 240 } 241 { 242 SELECT (SUM(?geld_bedrag) AS ?r_iv) 243 WHERE { 244 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 245 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 246 { 247 SELECT DISTINCT ?rubriek WHERE { 248 ?rubriek a onz-fin:Grootboekrubriek . 249 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 250 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 251 } 252 } 253 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 254 ?grootboek_post a onz-fin:Grootboekpost ; 255 onz-g:partOf ?rubriek ; 256 onz-g:hasDate ?datum ; 257 onz-fin:heeftGeldBedrag ?geld_bedrag . 258 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 259 FILTER(STRSTARTS(?rubriekCode, "485") || STRSTARTS(?rubriekCode, "901")) 260 } 261 } 262 #S.II Aandeel in winst/verlies van ondernemingen waarin wordt deelgenomen (S.I altijd 0) 263 { 264 SELECT (SUM(?geld_bedrag) AS ?s_ii) 265 WHERE { 266 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 267 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 268 { 269 SELECT DISTINCT ?rubriek WHERE { 270 ?rubriek a onz-fin:Grootboekrubriek . 271 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 272 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 273 } 274 } 275 276 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 277 278 BIND( 279 IF( 280 STRSTARTS(?rubriekCode, "902"), 281 "S.II", "other" 282 ) AS ?categorie 283 ) 284 285 FILTER(?categorie = "S.II") 286 287 ?grootboek_post a onz-fin:Grootboekpost ; 288 onz-g:partOf ?rubriek ; 289 onz-g:hasDate ?datum ; 290 onz-fin:heeftGeldBedrag ?geld_bedrag . 291 292 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 293 } 294 } 295 } 296 } 297 298 # 2. Rente en aflossingen 299{ 300 SELECT (?r_iv_totaal + ?aflossing AS ?DebtService) 301 WHERE { 302 303 # Rentelasten (R.IV) 304 { 305 SELECT (SUM(?geld_bedrag) AS ?r_iv_totaal) 306 WHERE { 307 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 308 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 309 { 310 SELECT DISTINCT ?rubriek WHERE { 311 ?rubriek a onz-fin:Grootboekrubriek . 312 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 313 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 314 } 315 } 316 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 317 ?grootboek_post a onz-fin:Grootboekpost ; 318 onz-g:partOf ?rubriek ; 319 onz-g:hasDate ?datum ; 320 onz-fin:heeftGeldBedrag ?geld_bedrag . 321 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 322 FILTER(STRSTARTS(?rubriekCode, "485") || STRSTARTS(?rubriekCode, "901")) 323 } 324 } 325 326 # saldoVoor 327 { 328 SELECT (SUM(?bedrag_rubriek) AS ?saldoVoor) 329 WHERE { 330 { 331 SELECT ?rubriek ?saldo_datum ?saldo_bedrag 332 WHERE { 333 # BIND("2023-12-31"^^xsd:date AS ?peildatum) 334 BIND(?peildatum AS ?peildatum_argument) 335 ?rubriek a onz-fin:Grootboekrubriek ; 336 onz-g:isAbout ?saldo . 337 ?saldo a onz-fin:EindSaldo ; 338 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 339 onz-g:hasDate ?saldo_datum . 340 FILTER (STRSTARTS(STRAFTER(STR(?rubriek), STR(onz-fin:)), "07")) 341 FILTER (?saldo_datum <= ?peildatum_argument) 342 FILTER NOT EXISTS { 343 ?rubriek onz-g:isAbout ?otherSaldo . 344 ?otherSaldo a onz-fin:EindSaldo ; 345 onz-g:hasDate ?otherDate . 346 FILTER(?otherDate <= ?peildatum_argument && ?otherDate > ?saldo_datum) 347 } 348 } 349 } 350 BIND(IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?bedrag_rubriek) 351 } 352 } 353 354 # saldoNa 355 { 356 SELECT (SUM(?bedrag_rubriek) AS ?saldoNa) 357 WHERE { 358 { 359 SELECT ?rubriek ?saldo_datum ?saldo_bedrag 360 WHERE { 361 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 362 ?rubriek a onz-fin:Grootboekrubriek ; 363 onz-g:isAbout ?saldo . 364 ?saldo a onz-fin:EindSaldo ; 365 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 366 onz-g:hasDate ?saldo_datum . 367 FILTER (STRSTARTS(STRAFTER(STR(?rubriek), STR(onz-fin:)), "07")) 368 FILTER (?saldo_datum <= ?eindperiode) 369 FILTER NOT EXISTS { 370 ?rubriek onz-g:isAbout ?otherSaldo . 371 ?otherSaldo a onz-fin:EindSaldo ; 372 onz-g:hasDate ?otherDate . 373 FILTER(?otherDate <= ?eindperiode && ?otherDate > ?saldo_datum) 374 } 375 } 376 } 377 BIND(IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?bedrag_rubriek) 378 } 379 } 380 381 # aflossing berekenen 382 BIND(?saldoVoor - ?saldoNa AS ?aflossing) 383 } 384 } 385 386} 387ORDER BY ?Kental 388